home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Bank smakow / BankSmakow.air / BankSmakow.swf / scripts / com / makingwaves / commands / LoadDataCommand.as next >
Text File  |  2009-12-16  |  3KB  |  72 lines

  1. package com.makingwaves.commands
  2. {
  3.    import com.adobe.cairngorm.commands.ICommand;
  4.    import com.adobe.cairngorm.control.CairngormEvent;
  5.    import com.adobe.cairngorm.control.CairngormEventDispatcher;
  6.    import com.makingwaves.config.Configuration;
  7.    import com.makingwaves.events.UpdateEvent;
  8.    import com.makingwaves.logic.ProductUpdater;
  9.    import com.makingwaves.logic.RecipeUpdater;
  10.    import com.makingwaves.sql.TransactionDatabaseManager;
  11.    import com.makingwaves.util.DataLoader;
  12.    import com.makingwaves.vo.DataSource;
  13.    
  14.    public class LoadDataCommand implements ICommand
  15.    {
  16.        
  17.       
  18.       private var _success:Boolean = true;
  19.       
  20.       private var _pendingDataSources:Array;
  21.       
  22.       public function LoadDataCommand()
  23.       {
  24.          super();
  25.       }
  26.       
  27.       public function execute(param1:CairngormEvent) : void
  28.       {
  29.          var _loc2_:TransactionDatabaseManager = new TransactionDatabaseManager();
  30.          var _loc3_:Configuration = Configuration.getInstance();
  31.          var _loc4_:DataLoader = new DataLoader();
  32.          var _loc5_:ProductUpdater = new ProductUpdater();
  33.          _pendingDataSources = cloneArray(Configuration.getInstance().dataSources);
  34.          _loc5_.addEventListener(UpdateEvent.EVENT_NAME,onUpdateFinish);
  35.          var _loc6_:Date = _loc2_.getLastUpdate(-1);
  36.          _loc4_.GetDataObject(_loc5_,_loc3_.productsUrl(_loc6_));
  37.       }
  38.       
  39.       private function onUpdateFinish(param1:UpdateEvent) : void
  40.       {
  41.          var _loc4_:TransactionDatabaseManager = null;
  42.          var _loc5_:RecipeUpdater = null;
  43.          var _loc6_:Date = null;
  44.          var _loc2_:DataLoader = new DataLoader();
  45.          var _loc3_:DataSource = _pendingDataSources.pop() as DataSource;
  46.          _success = _success && param1.success;
  47.          if(_loc3_ != null)
  48.          {
  49.             _loc4_ = new TransactionDatabaseManager();
  50.             (_loc5_ = new RecipeUpdater(_loc3_.id)).addEventListener(UpdateEvent.EVENT_NAME,onUpdateFinish);
  51.             _loc6_ = _loc4_.getLastUpdate(_loc3_.id);
  52.             _loc2_.GetDataObject(_loc5_,_loc3_.url(_loc6_));
  53.          }
  54.          else
  55.          {
  56.             CairngormEventDispatcher.getInstance().dispatchEvent(new UpdateEvent(_success));
  57.          }
  58.       }
  59.       
  60.       private function cloneArray(param1:Array) : Array
  61.       {
  62.          var _loc3_:DataSource = null;
  63.          var _loc2_:Array = new Array();
  64.          for each(_loc3_ in param1)
  65.          {
  66.             _loc2_.push(_loc3_.clone());
  67.          }
  68.          return _loc2_;
  69.       }
  70.    }
  71. }
  72.